package com.freight.order.service;

import com.freight.core.base.FreightBaseService;
import com.freight.core.common.vo.SearchVo;
import com.freight.order.entity.OrderTrack;
import com.freight.order.vo.MobileTrackVo;
import com.freight.order.vo.OrderTrackVo;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;

/**
 * 订单行车路径接口
 * @author huyingtai
 */
public interface OrderTrackService extends FreightBaseService<OrderTrack, Long> {

    /**
     * 多条件分页获取
     * @param orderTrack
     * @param searchVo
     * @param pageable
     * @return
     */
    Page<OrderTrack> findByCondition(OrderTrack orderTrack, SearchVo searchVo, Pageable pageable);

    /**
     * 获取手机轨迹信息
     *
     * @param orderId
     * @return
     */
    List<MobileTrackVo> getMobileTrack(Long orderId);

    void updateMobileTrack();


    /**
     * 获取轨迹信息
     *
     * @param orderID
     * @return
     */
    List<OrderTrackVo> getTracks(Long orderID);

    List<OrderTrackVo> getHistoryTracks(String gpsEquipment, String startTime, String endTime);

    /**
     * 查询车辆路径(经纬度信息)
     *
     * @param deviceids  车辆GPS识别号
     * @param startTime 开始时间
     * @param endTime   结束时间
     * @return JSON字符串，经纬度
     */
    List<OrderTrack> getLJ(Long orderId, String deviceids, String startTime, String endTime);


}